package com.ruoyi.bizsys.service;

import java.util.List;

import com.ruoyi.bizsys.domain.CustReplenishInfo;
import com.ruoyi.bizsys.domain.CustomerInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.bizsys.domain.LoanDeferredOrder;
import com.ruoyi.bizsys.domain.ProductInfo;

/**
 * 客户信息Service接口
 *
 * @author african-loan
 * @date 2021-12-30
 */
public interface ICustomerInfoService extends IService<CustomerInfo>{
    /**
     * 查询客户信息
     *
     * @param id 客户信息ID
     * @return 客户信息
     */
    public CustomerInfo selectCustomerInfoById(Long id);

    /**
     * 查询客户信息列表
     *
     * @param customerInfo 客户信息
     * @return 客户信息集合
     */
    public List<CustomerInfo> selectCustomerInfoList(CustomerInfo customerInfo);

    /**
     * 新增客户信息
     *
     * @param customerInfo 客户信息
     * @return 结果
     */
    public int insertCustomerInfo(CustomerInfo customerInfo);

    /**
     * 修改客户信息
     *
     * @param customerInfo 客户信息
     * @return 结果
     */
    public int updateCustomerInfo(CustomerInfo customerInfo);

    /**
     * 批量删除客户信息
     *
     * @param ids 需要删除的客户信息ID
     * @return 结果
     */
    public int deleteCustomerInfoByIds(Long[] ids);

    /**
     * 删除客户信息信息
     *
     * @param id 客户信息ID
     * @return 结果
     */
    public int deleteCustomerInfoById(Long id);

    String getCustNoByUserId(String userId);

    String getUserIdByCustNo(String custNo);

    CustomerInfo getOneByCustNo(String custNo);

    boolean updateByReplenish(CustomerInfo customerInfo,CustReplenishInfo replenishInfo);

    int upCreditRatingByCustNo(String creditRating, String customerNo);

    CustomerInfo getOneByUserId(String userId);

    String getUserByCustNo(String custNo);

    boolean updateByCustNo(CustomerInfo customerInfo);

    List<ProductInfo> selectDeferred(String custNo, String periodNum);
}
